The invention relates to programmable sequence controllers (PCs) used to control machines. Typically, programmable sequence controllers are utilized to control manufacturing machines such as cutting or drilling machines operating to configure a workpiece to a desired size and shape. For example, it may be desirable to advance a drill toward a workpiece rapidly until the drill reaches a predetermined distance from the workpiece. Then, it may be desirable to begin rotating the drill and advance it slowly toward the workpiece to drill a hole to a predetermined depth. After the predetermined depth hole is drilled, it may be desirable to stop rotation of the drill and withdraw the drill rapidly in the opposite direction, after which the drilled workpiece is removed and a new workpiece substituted therefor. The sequence of control steps, i.e. advancing the non-rotating drill rapidly, rotating the drill and removing the drill rapidly, etc. are programmed sequence steps to be automatically carried out by the machine under control by a programmable sequence controller.
The specific control steps to be carried out by the machine are stored in a program memory unit of the PC. Periodically, the program memory unit is consulted to determine the current desired status of the machine under control. Actual status of the machine is determined from signals flowing to and from the machine under control. This status information is stored in a data memory unit. Based on the current desired machine status and the actual machine status, the sequence controller determines the appropriate output contol signal to send to the machine under control in order to obtain the desired status. In order to better appreciate the background of the present invention, FIGS. 1-3 illustrate a known programmable sequence controller and explain its functional and operational disadvantages.
Referring now to FIG. 1 (PRIOR ART), there is shown a block diagram of a known programmable sequence controller (PC). The PC is being utilized to control a machine MT in accordance with a sequence of control operations stored in a program memory unit 10 of the PC. Machine MT under control is shown in very simplified form as having a pushbutton switch, which when closed, provides an input signal MTIN to an input/output module unit 16 of the PC. The PC produces a control instruction constituting an output signal MTOUT flowing from input/output module unit 16 to a relay of machine MT for carrying out some operation. The PC further includes an interface unit 14 for interfacing data between input/output module unit 16 and an input/output data memory unit 12. Interface 14 is coupled to input/output data memory unit 12 via a bus 106 and to input/output module unit 16 via a bus 109.
As stated above, program memory unit 10 stores a sequence of instructions to be carried out in controlling machine MT. Input/output data memory unit 12 is used to store machine MT status data relating to the working state i.e. actual state of machine MT including the status of both the input MTIN from machine MT to the PC and the output MTOUT from the PC to machine MT. Controller PC further includes an arithmetic calculating unit 18 coupled to program memory unit 10 via a bus 102 and coupled to input/output data memory unit 12 via a bus 103. Arithmetic calculating unit 18 receives instructions from program memory unit 10 via bus 102 and current machine status data via bus 103 from input/output data memory unit 12. It includes counters, registers, timers and/or other devices required for carrying out the required calculations and data manipulations for determining the appropriate output control signal for controlling machine MT. A control unit 20 supplies command signals to the other units of the PC and receives signals from the control signal lines 101, 104, 105, 107 and 108. Even though these are shown only as single lines in FIG. 1, they may include multiple lines for carrying multiple control signals simultaneously. For example, signal line 108 may be used to supply a timing signal and address signals for commanding input/output module units 16 to transmit or receive signals between machine MT and input/output module units 16. Signal line 101 may be used to supply program memory unit 10 with an address assignment signal. In a PC having a calculating capability, arithmetic calculating unit 18 and control unit 20 can together form a control unit CU.
When a PC such as described above with respect to FIG. 1 is used to control a machine MT, various operational difficulties exist, particularly, when the PC has a small capacity, such as for example, a data capacity of 128 or less and a memory capacity of 1K or less. Some of these problems are as follows:
(a) When a small capacity PC is used to control a machine MT and the desired control functions are changed, it is often necessary to replace the small size PC with a medium or large size PC having increased data capacity such as for example an increased data capacity from 128 to 512 and an increased memory capacity from 1K to 4K. PA1 (b) A small PC is inferior to a large PC in various respects such as programmability, diagnostic ability and the lack of ability to functionally upgrade to more complex control functions. PA1 (c) The function of a small PC is different from that of a large PC. The same operating properties cannot be obtained with a small PC as could be obtained with a larger one. PA1 (d) When a plurality of small PCs are coupled in parallel in an effort to carry out more complex control functions than could be executed by a single PC, the linkage among them must be carried out via their respective input/output modules. PA1 (e) When a plurality of small PCs are used in parallel, loading or sequence programming must be performed individually in each PC. PA1 (f) A small PC is inferior to a large PC in operating processing speed.
The operational difficulties, particularly those set forth in paragraph (d), above, associated with the known PC as shown in FIG. 1 are discussed more specifically with respect to FIGS. 2 and 3 below.
Referring now to FIG. 2 there is shown in diagrammatic form the manner in which two known PCs can be hardwire coupled to carry out a machine control. It is assumed in this example that two known PCs (PC0 and PC1) of the type shown in FIG. 1 are coupled together with the intended purpose that the output of controller PC1 forms an input condition for controller PC0. In other words, it is desired that controller PC0 perform at least one control function based at least in part on the status of the machine controlled by controller PC1. FIG. 2(a) shows a ladder circuit for this arrangement. In FIG. 2(a), there is a contact switch in the upper left corner marked 0001. The first "0" of the three zeros indicates that this contact switch is associated with controller PC0. Similarly, there is shown a relay in the upper right corner marked 0103. The first "0" indicates that the relay responds to an output of controller PC0 i.e. it is associated with controller PC0. Similarly, in the lower portion of FIG. 2(a), a contact switch 1005 forms an input to PC1 and a relay 0104 is actuated by controller PC0. In order to execute the desired control as illustrated by the FIG. 2(a) ladder, it is necessary that an internal contact 0002 be installed within controller PC0 in place of contact 1005. This is illustrated in FIG. 2(b).
Referring now to FIGS. 2(b) and 2(c), there is shown a ladder network illustrating the replacement of the contact switch 1005 shown in FIG. 2(a) by a contact switch 0002. The first "0" in this number indicates that switch 0002 is associated with controller PC0. Switch 0002 is connected to output 005 of PC1, as shown in FIG. 2(c), by hardwiring between the I/O module units of PC0 and PC1.
When a plurality of PCs are cooperatively operated, the hardwire connections among the PCs complicates the circuit construction as the number of controllers increases. Particularly, when wiring changes are required at a program memory unit of a PC as a result of a change of sequence working specification in its associated machine MT, the advantageous use of the known PC is reduced significantly. This normally requires the substitution of a medium or large size PC for the originally utilized smaller one.
Referring now to FIG. 3, there is shown a ladder diagram explaining further the difficulties that exist when two known PCs such as PC0 and PC1 are operated cooperatively as in FIG. 2. In the upper left corner of FIG. 3, contact switch 1141 serves as an input to PC1. Relay coil 1141 is actuated by PC1 and relay 0102 is actuated by PC0. In this case, contact switch 1141 associated with PC1 is used as an input condition for relay 0102 associated with PC0. It is desired to associate relay 1102, shown in FIG. 3(b), with contact switch 0002 shown in FIG. 3(c). It is therefore necessary to connect the I/O module units of PC0 and PC1 by hardwiring them to achieve this response condition.